Computer systems are well known in the art and have attained widespread use for providing computer power to many segments of today's modern society. Computer systems such as personal computers (PCs) and servers may typically include a system unit having a central processing unit (CPU) and associated volatile and non-volatile memory, including random access memory (RAM) and basic input/output system read only memory (BIOS ROM), a system monitor, a CD-ROM or DVD-ROM drive, a fixed disk storage drive (also known as a “hard drive”), user input devices, and a network interface adapter. One of the distinguishing characteristics of these systems is the use of a motherboard or system planar to electrically connect these components together. Computers systems typically include software such as computer programs in addition to the hardware. As advances in semiconductor processing and computer architecture continue to push the performance of computer hardware higher, more sophisticated computer software has evolved to take advantage of the higher performance of the hardware, resulting in computer systems that continue to increase in complexity and power.
Computer systems have thus evolved into extremely sophisticated devices that may be found in many different settings. Many organizations utilize server computer systems for more complicated tasks such as providing e-commerce websites, providing complex multi-user applications, maintaining large databases, or performing other resource-intensive tasks. Organizations with significant computing needs often have many servers performing a wide variety of tasks with the servers communicating with each other via a network such as a local area network (LAN). To help maintain and configure these computer systems, system administrators may utilize a build server to maintain an operating system (OS) image source that can be used to help install the operating system on newly acquired servers or other servers that require operating system installation (such as servers where an OS reinstall occurs to help correct operational problems). Installation of a new operating system from an OS image source is often automated so that the operating system is copied from the build server to the new, target server over the network.
One problem with the automated installation process is that the newly installed operating system will often not boot if the incorrect device drivers are included within the operating system as copied from the OS image source. If the incorrect device drivers are included with the operating system when the server is first booted, an OS image crash may occur that results in an inability to use the server until the problem is fixed. This can often occur when an OS image source has the device drivers for a particular server model and the target server is a newer model that requires updated device drivers. To many customers, the OS image crash is an unacceptable situation since the server will have to be rebuilt and their server availability will be delayed. Depending on the applications that the customer intends to run on the server, this could result in huge losses in profits. The failure of the rebuilt server to boot also requires diagnosis of the problem (incorrect device drivers) and manual download and installation of the correct drivers, requiring wasted manpower in addition to server downtime. While the correct device drivers can be downloaded to restore functionality of the server, the problems resulting from outdated device drivers waste valuable resources and can cause customer dissatisfaction.